package com.vca.admin.task.activity;

import com.vca.common.utils.DateUtil;
import com.vca.service.service.OrderTaskService;
import com.vca.service.service.StoreOrderService;
import com.vca.service.service.VcaOrderService;
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 取消活动
 */
@Component
@Configuration //读取配置
@EnableScheduling // 2.开启定时任务
public class CancelActivityTask {
    //日志
    private static final Logger logger = LoggerFactory.getLogger(CancelActivityTask.class);

    private static final String SIXTY_MINUTE = "PT1M";
    private static final String THREE_MINUTE = "PT1M";

    @Autowired
    private OrderTaskService orderTaskService;

    @Scheduled(fixedDelay = 1000 * 60L)
    @SchedulerLock(name = "CancelActivityTask", lockAtMostFor = SIXTY_MINUTE, lockAtLeastFor = THREE_MINUTE)
    public void init() {
        logger.info("---CancelActivityTask task--- Execution Time - {}", DateUtil.nowDateTime());
        try {
            orderTaskService.activityCancelByUser();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

}
